↳ ITRS
↳ ITRStoIDPProof
z
Cond_rand2(TRUE, x, y) → y
rand(x, y) → Cond_rand(>@z(0@z, x), x, y)
random(x) → rand(x, 0@z)
Cond_rand1(TRUE, x, y) → rand(+@z(-@z(x), 1@z), id_inc(y))
rand(x, y) → Cond_rand1(>@z(x, 0@z), x, y)
id_dec(x) → x
id_inc(x) → x
Cond_rand(TRUE, x, y) → rand(-@z(-@z(x), 1@z), id_dec(y))
id_inc(x) → +@z(x, 1@z)
rand(x, y) → Cond_rand2(=@z(x, 0@z), x, y)
id_dec(x) → -@z(x, 1@z)
Cond_rand2(TRUE, x0, x1)
rand(x0, x1)
random(x0)
Cond_rand1(TRUE, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
Cond_rand2(TRUE, x, y) → y
rand(x, y) → Cond_rand(>@z(0@z, x), x, y)
random(x) → rand(x, 0@z)
Cond_rand1(TRUE, x, y) → rand(+@z(-@z(x), 1@z), id_inc(y))
rand(x, y) → Cond_rand1(>@z(x, 0@z), x, y)
id_dec(x) → x
id_inc(x) → x
Cond_rand(TRUE, x, y) → rand(-@z(-@z(x), 1@z), id_dec(y))
id_inc(x) → +@z(x, 1@z)
rand(x, y) → Cond_rand2(=@z(x, 0@z), x, y)
id_dec(x) → -@z(x, 1@z)
(1) -> (2), if ((id_dec(y[1]) →* y[2])∧(-@z(-@z(x[1]), 1@z) →* x[2]))
(1) -> (3), if ((id_dec(y[1]) →* y[3])∧(-@z(-@z(x[1]), 1@z) →* x[3]))
(1) -> (4), if ((id_dec(y[1]) →* y[4])∧(-@z(-@z(x[1]), 1@z) →* x[4]))
(2) -> (1), if ((x[2] →* x[1])∧(y[2] →* y[1])∧(>@z(0@z, x[2]) →* TRUE))
(2) -> (5), if ((x[2] →* x[5])∧(y[2] →* y[5])∧(>@z(0@z, x[2]) →* TRUE))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(>@z(x[3], 0@z) →* TRUE))
(3) -> (6), if ((x[3] →* x[6])∧(y[3] →* y[6])∧(>@z(x[3], 0@z) →* TRUE))
(6) -> (2), if ((id_inc(y[6]) →* y[2])∧(+@z(-@z(x[6]), 1@z) →* x[2]))
(6) -> (3), if ((id_inc(y[6]) →* y[3])∧(+@z(-@z(x[6]), 1@z) →* x[3]))
(6) -> (4), if ((id_inc(y[6]) →* y[4])∧(+@z(-@z(x[6]), 1@z) →* x[4]))
(7) -> (2), if ((x[7] →* x[2]))
(7) -> (3), if ((x[7] →* x[3]))
(7) -> (4), if ((x[7] →* x[4]))
Cond_rand2(TRUE, x0, x1)
rand(x0, x1)
random(x0)
Cond_rand1(TRUE, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
z
id_dec(x) → x
id_inc(x) → x
id_inc(x) → +@z(x, 1@z)
id_dec(x) → -@z(x, 1@z)
(1) -> (2), if ((id_dec(y[1]) →* y[2])∧(-@z(-@z(x[1]), 1@z) →* x[2]))
(1) -> (3), if ((id_dec(y[1]) →* y[3])∧(-@z(-@z(x[1]), 1@z) →* x[3]))
(1) -> (4), if ((id_dec(y[1]) →* y[4])∧(-@z(-@z(x[1]), 1@z) →* x[4]))
(2) -> (1), if ((x[2] →* x[1])∧(y[2] →* y[1])∧(>@z(0@z, x[2]) →* TRUE))
(2) -> (5), if ((x[2] →* x[5])∧(y[2] →* y[5])∧(>@z(0@z, x[2]) →* TRUE))
(3) -> (0), if ((x[3] →* x[0])∧(y[3] →* y[0])∧(>@z(x[3], 0@z) →* TRUE))
(3) -> (6), if ((x[3] →* x[6])∧(y[3] →* y[6])∧(>@z(x[3], 0@z) →* TRUE))
(6) -> (2), if ((id_inc(y[6]) →* y[2])∧(+@z(-@z(x[6]), 1@z) →* x[2]))
(6) -> (3), if ((id_inc(y[6]) →* y[3])∧(+@z(-@z(x[6]), 1@z) →* x[3]))
(6) -> (4), if ((id_inc(y[6]) →* y[4])∧(+@z(-@z(x[6]), 1@z) →* x[4]))
(7) -> (2), if ((x[7] →* x[2]))
(7) -> (3), if ((x[7] →* x[3]))
(7) -> (4), if ((x[7] →* x[4]))
Cond_rand2(TRUE, x0, x1)
rand(x0, x1)
random(x0)
Cond_rand1(TRUE, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
z
id_dec(x) → x
id_inc(x) → x
id_inc(x) → +@z(x, 1@z)
id_dec(x) → -@z(x, 1@z)
(2) -> (1), if ((x[2] →* x[1])∧(y[2] →* y[1])∧(>@z(0@z, x[2]) →* TRUE))
(3) -> (6), if ((x[3] →* x[6])∧(y[3] →* y[6])∧(>@z(x[3], 0@z) →* TRUE))
(1) -> (3), if ((id_dec(y[1]) →* y[3])∧(-@z(-@z(x[1]), 1@z) →* x[3]))
(1) -> (2), if ((id_dec(y[1]) →* y[2])∧(-@z(-@z(x[1]), 1@z) →* x[2]))
(6) -> (3), if ((id_inc(y[6]) →* y[3])∧(+@z(-@z(x[6]), 1@z) →* x[3]))
(6) -> (2), if ((id_inc(y[6]) →* y[2])∧(+@z(-@z(x[6]), 1@z) →* x[2]))
Cond_rand2(TRUE, x0, x1)
rand(x0, x1)
random(x0)
Cond_rand1(TRUE, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
RAND(x[2], y[2]) → COND_RAND(greater_int(pos(0), x[2]), x[2], y[2])
RAND(x[3], y[3]) → COND_RAND1(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
id_dec(x) → x
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
id_dec(x) → minus_int(x, pos(s(0)))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), neg(y)) → minus_nat(y, x)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
minus_int(pos(x), neg(y)) → pos(plus_nat(x, y))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
Cond_rand2(true, x0, x1)
rand(x0, x1)
random(x0)
Cond_rand1(true, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
RAND(x[2], y[2]) → COND_RAND(greater_int(pos(0), x[2]), x[2], y[2])
RAND(x[3], y[3]) → COND_RAND1(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
Cond_rand2(true, x0, x1)
rand(x0, x1)
random(x0)
Cond_rand1(true, x0, x1)
id_dec(x0)
id_inc(x0)
Cond_rand(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
Cond_rand2(true, x0, x1)
rand(x0, x1)
random(x0)
Cond_rand1(true, x0, x1)
Cond_rand(true, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
RAND(x[2], y[2]) → COND_RAND(greater_int(pos(0), x[2]), x[2], y[2])
RAND(x[3], y[3]) → COND_RAND1(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
RAND(pos(0), y1) → COND_RAND(false, pos(0), y1)
RAND(pos(s(x0)), y1) → COND_RAND(false, pos(s(x0)), y1)
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(neg(0), y1) → COND_RAND(false, neg(0), y1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
RAND(x[3], y[3]) → COND_RAND1(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
RAND(pos(0), y1) → COND_RAND(false, pos(0), y1)
RAND(pos(s(x0)), y1) → COND_RAND(false, pos(s(x0)), y1)
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(neg(0), y1) → COND_RAND(false, neg(0), y1)
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
RAND(x[3], y[3]) → COND_RAND1(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
RAND(x[3], y[3]) → COND_RAND1(greater_int(x[3], pos(0)), x[3], y[3])
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
RAND(neg(s(x0)), y1) → COND_RAND1(false, neg(s(x0)), y1)
RAND(pos(0), y1) → COND_RAND1(false, pos(0), y1)
RAND(neg(0), y1) → COND_RAND1(false, neg(0), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
RAND(neg(s(x0)), y1) → COND_RAND1(false, neg(s(x0)), y1)
RAND(pos(0), y1) → COND_RAND1(false, pos(0), y1)
RAND(neg(0), y1) → COND_RAND1(false, neg(0), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
COND_RAND(true, x[1], y[1]) → RAND(minus_int(neg_int(x[1]), pos(s(0))), id_dec(y[1]))
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
COND_RAND(true, pos(x0), y1) → RAND(minus_int(neg(x0), pos(s(0))), id_dec(y1))
COND_RAND(true, neg(x0), y1) → RAND(minus_int(pos(x0), pos(s(0))), id_dec(y1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
COND_RAND(true, pos(x0), y1) → RAND(minus_int(neg(x0), pos(s(0))), id_dec(y1))
COND_RAND(true, neg(x0), y1) → RAND(minus_int(pos(x0), pos(s(0))), id_dec(y1))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
COND_RAND(true, neg(x0), y1) → RAND(minus_int(pos(x0), pos(s(0))), id_dec(y1))
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
COND_RAND(true, neg(x0), y1) → RAND(minus_nat(x0, s(0)), id_dec(y1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, x[6], y[6]) → RAND(plus_int(pos(s(0)), neg_int(x[6])), id_inc(y[6]))
COND_RAND(true, neg(x0), y1) → RAND(minus_nat(x0, s(0)), id_dec(y1))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
COND_RAND1(true, pos(x0), y1) → RAND(plus_int(pos(s(0)), neg(x0)), id_inc(y1))
COND_RAND1(true, neg(x0), y1) → RAND(plus_int(pos(s(0)), pos(x0)), id_inc(y1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND(true, neg(x0), y1) → RAND(minus_nat(x0, s(0)), id_dec(y1))
COND_RAND1(true, pos(x0), y1) → RAND(plus_int(pos(s(0)), neg(x0)), id_inc(y1))
COND_RAND1(true, neg(x0), y1) → RAND(plus_int(pos(s(0)), pos(x0)), id_inc(y1))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
COND_RAND(true, neg(x0), y1) → RAND(minus_nat(x0, s(0)), id_dec(y1))
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(x0), y1) → RAND(plus_int(pos(s(0)), neg(x0)), id_inc(y1))
neg_int(pos(x)) → neg(x)
neg_int(neg(x)) → pos(x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND_RAND(true, neg(x0), y1) → RAND(minus_nat(x0, s(0)), id_dec(y1))
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(x0), y1) → RAND(plus_int(pos(s(0)), neg(x0)), id_inc(y1))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
neg_int(pos(x0))
neg_int(neg(x0))
neg_int(pos(x0))
neg_int(neg(x0))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
COND_RAND(true, neg(x0), y1) → RAND(minus_nat(x0, s(0)), id_dec(y1))
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(x0), y1) → RAND(plus_int(pos(s(0)), neg(x0)), id_inc(y1))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND1(true, pos(x0), y1) → RAND(minus_nat(s(0), x0), id_inc(y1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
COND_RAND(true, neg(x0), y1) → RAND(minus_nat(x0, s(0)), id_dec(y1))
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(x0), y1) → RAND(minus_nat(s(0), x0), id_inc(y1))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), minus_int(x0, pos(s(0))))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(x0), y1) → RAND(minus_nat(s(0), x0), id_inc(y1))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), minus_int(x0, pos(s(0))))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
id_dec(x) → x
id_dec(x) → minus_int(x, pos(s(0)))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(x0), y1) → RAND(minus_nat(s(0), x0), id_inc(y1))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), minus_int(x0, pos(s(0))))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_dec(x0)
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
id_dec(x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(x0), y1) → RAND(minus_nat(s(0), x0), id_inc(y1))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), minus_int(x0, pos(s(0))))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), minus_int(x0, pos(s(0))))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(s(x), 0) → pos(s(x))
id_inc(x) → x
id_inc(x) → plus_int(pos(s(0)), x)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), minus_int(x0, pos(s(0))))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
id_inc(x0)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
id_inc(x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), minus_int(x0, pos(s(0))))
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(s(z0), s(0)), minus_int(z1, pos(s(0))))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(s(z0), s(0)), minus_int(z1, pos(s(0))))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND(true, neg(y0), x0) → RAND(minus_nat(y0, s(0)), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(s(z0), s(0)), z1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(s(z0), s(0)), z1)
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), x0)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(s(0), s(z0)), z1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(s(0), s(z0)), z1)
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND1(true, pos(y0), x0) → RAND(minus_nat(s(0), y0), plus_int(pos(s(0)), x0))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(s(0), s(z0)), plus_int(pos(s(0)), z1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(s(0), s(z0)), plus_int(pos(s(0)), z1))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(0, z0), plus_int(pos(s(0)), z1))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ MRRProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(0, z0), plus_int(pos(s(0)), z1))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), z1)
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(0, z0), z1)
minus_nat(s(x), s(y)) → minus_nat(x, y)
POL(0) = 0
POL(COND_RAND(x1, x2, x3)) = x1 + x2 + x3
POL(COND_RAND1(x1, x2, x3)) = x1 + x2 + x3
POL(RAND(x1, x2)) = x1 + x2
POL(minus_int(x1, x2)) = x1 + x2
POL(minus_nat(x1, x2)) = x1 + x2
POL(neg(x1)) = x1
POL(plus_int(x1, x2)) = x1 + x2
POL(plus_nat(x1, x2)) = x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 1 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ MRRProof
↳ QDP
↳ MRRProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(0, z0), plus_int(pos(s(0)), z1))
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(pos(x), pos(y)) → minus_nat(x, y)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))
COND_RAND(true, neg(s(z0)), z1) → RAND(minus_nat(z0, 0), minus_int(z1, pos(s(0))))
COND_RAND1(true, pos(s(z0)), z1) → RAND(minus_nat(0, z0), plus_int(pos(s(0)), z1))
minus_nat(s(x), 0) → pos(s(x))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0) → pos(0)
minus_int(neg(x), pos(y)) → neg(plus_nat(x, y))
POL(0) = 0
POL(COND_RAND(x1, x2, x3)) = 2·x1 + 2·x2 + x3
POL(COND_RAND1(x1, x2, x3)) = x1 + 2·x2 + x3
POL(RAND(x1, x2)) = 2·x1 + x2
POL(minus_int(x1, x2)) = x1 + x2
POL(minus_nat(x1, x2)) = 2 + 2·x1 + 2·x2
POL(neg(x1)) = 1 + 2·x1
POL(plus_int(x1, x2)) = x1 + x2
POL(plus_nat(x1, x2)) = x1 + x2
POL(pos(x1)) = 1 + 2·x1
POL(s(x1)) = 2 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPtoQDPProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ MRRProof
↳ QDP
↳ MRRProof
↳ QDP
↳ DependencyGraphProof
RAND(neg(s(x0)), y1) → COND_RAND(true, neg(s(x0)), y1)
RAND(pos(s(x0)), y1) → COND_RAND1(true, pos(s(x0)), y1)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_int(pos(x), pos(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_int(pos(x0), pos(x1))
minus_int(neg(x0), neg(x1))
minus_int(neg(x0), pos(x1))
minus_int(pos(x0), neg(x1))